import Vue from 'vue'
import Vuex from 'vuex'
import { checkInfo, hotnews } from '../api/api'
// import vuexAlong from 'vuex-along'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 是否登录
    isLogin: false,
    // 个人信息
    userInfo: '',
    // 新闻数组
    newList: [],
    // 搜索历史
    historyList: []
  },
  mutations: {
    changeInfo(state, payload) {
      state.isLogin = payload.isLogin
      state.userInfo = payload.userInfo
    },
    // 新闻数组
    changeNewList(state, payload) {
      state.newList = payload.newList
    },
    // 搜索历史数组
    changeHistoryList(state, payload) {
      state.historyList = payload.historyList
    },
  },
  // plugins: [vuexAlong({
  //   session:{
  //     list:["historyList"]
  //   }
  // })],
  actions: {
    // 请求个人信息看是否登录
    check(context) {
      checkInfo().then(res => {
        // 如果登录了，改变状态
        if (res.code == 0) {
          context.commit("changeInfo", { isLogin: true, userInfo: res.data })
        } else {
          // 没登录，
          context.commit("changeInfo", { isLogin: false, userInfo: {} })
        }
      })
    },
    // 一刷新页面就请求新闻--解决一上来无法搜索的问题
    reqNews(context) {
      hotnews(1, 30).then(res => {
        // console.log(res);
        context.commit('changeNewList', { newList: res.rows })
      })
    },
  },
  modules: {
  }
})
